Skip to main content

mac 开机启动

在macOS上,你可以使用launchd来设置开机自动执行命令。launchd是macOS的守护进程管理器,它可以在系统启动时或满足特定条件时执行脚本或命令。

以下是设置开机自动执行命令的步骤:

  1. 创建一个脚本: 创建一个包含你想要执行的命令的脚本文件,例如startup_script.sh,并赋予它执行权限:

    touch ~/startup_script.sh
    chmod +x ~/startup_script.sh

    编辑这个脚本文件,添加你想要自动执行的命令:

    #!/bin/bash
    echo "Hello, this is my startup command"
    # 在这里添加你的命令
  2. 创建一个launchd plist(属性列表)配置文件launchd使用属性列表(plist)文件来配置任务。创建一个plist文件,例如com.example.startup.plist,并填入以下内容:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
    <key>Label</key>
    <string>com.example.startup</string>
    <key>ProgramArguments</key>
    <array>
    <string>/bin/bash</string>
    <string>/Users/yourusername/startup_script.sh</string> <!-- 替换为你的脚本路径 -->
    </array>
    <key>RunAtLoad</key>
    <true/>
    </dict>
    </plist>

    请确保替换<string>/Users/yourusername/startup_script.sh</string>中的路径为你的脚本实际路径。

  3. 将plist文件放置在适当的目录: 将创建的plist文件放置在/Library/LaunchDaemons//Library/LaunchAgents/目录下。选择哪个目录取决于你希望脚本以哪个用户权限运行:

    • /Library/LaunchDaemons/:系统级权限,适合系统范围的任务。
    • /Library/LaunchAgents/:当前用户权限,适合用户特定的任务。

    使用sudo命令放置plist文件:

    sudo cp ~/Desktop/com.example.startup.plist /Library/LaunchDaemons/
  4. 加载launchd作业: 使用launchctl命令加载你的作业,使其生效:

    sudo launchctl load -w /Library/LaunchDaemons/com.example.startup.plist
  5. 重新启动你的Mac: 保存并退出,然后重新启动你的Mac以测试脚本是否按预期执行。

  6. (可选)卸载作业: 如果你需要卸载这个作业,可以使用以下命令:

    sudo launchctl unload -w /Library/LaunchDaemons/com.example.startup.plist
    sudo rm /Library/LaunchDaemons/com.example.startup.plist

请注意,使用launchd时,务必确保你的脚本路径和权限设置正确,以避免系统启动时出现问题。此外,对于敏感操作或需要管理员权限的命令,请确保理解其含义和潜在的安全风险。



sudo launchctl print system/com.arick.startup

sudo launchctl list com.arick.startup

sudo launchctl start com.arick.startup



1. 使用登录项添加可执行脚本(推荐)

在用户的家目录编写一个sh脚本,例如:

test.sh

**

#!/bin/bash

# 在用户的家目录创建一个文件
touch ~/haha.txt

添加可执行权限

**

chmod 755 test.sh

进入设置->用户与群组->登录项,点+号,选择test.sh文件即可。

重启电脑,验证是否新建了文件,如存在说明配置成功,修改该文件内容为你想要的配置。

该文件将会在开机时执行,可在命令行中执行的开机启动项均可在此文件中配置。

PS: 开机后会显示一个“进程已结束”的终端,不太爽,需要进入终端的偏好设置->shell选项卡->当shell退出时, 选择“关闭窗口”。这样开机时就不会出现一个终端了